Package org.javacommerce.paypal.servlet

Source Code of org.javacommerce.paypal.servlet.AbstractPDTServlet

/**
*
*/
package org.javacommerce.paypal.servlet;

import java.io.IOException;
import java.io.UnsupportedEncodingException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.javacommerce.paypal.PDT;
import org.javacommerce.paypal.PayPalValidationException;
import org.javacommerce.paypal.validation.PDTValidation;

/**
* @author Michael Blanton (mike@mikeblanton.com)
*/
public abstract class AbstractPDTServlet extends BaseServlet {

  /**
   *
   */
  private static final long serialVersionUID = 1781832335496547484L;
 
  private static final Log LOG = LogFactory.getLog(AbstractPDTServlet.class);

  /**
   *
   */
  public AbstractPDTServlet() {
    super();
    // TODO Auto-generated constructor stub
  }

  /* (non-Javadoc)
   * @see org.javacommerce.paypal.servlet.BaseServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
   */
  protected void doGet(HttpServletRequest _request, HttpServletResponse _response)
      throws ServletException, IOException {
    try {
      if (LOG.isDebugEnabled()) {
        LOG.debug("PDT received, verifying");
      }
      String[] response = PDTValidation.getInstance().verifyHttpRequest(_request);
      if (LOG.isDebugEnabled()) {
        LOG.debug("PDT verified, processing");
      }
      PDT pdt = new PDT(_request, response);
      processPDT(pdt);
      writeObject(pdt, _response);
    } catch (UnsupportedEncodingException e) {
      writeException("PDT-1000", "Error verifying PDT", null, e, _response);
      _response.setStatus(SC_NOT_ACCEPTABLE);
    } catch (IOException e) {
      writeException("PDT-1001", "Error verifying PDT", null, e, _response);
      _response.setStatus(SC_NOT_ACCEPTABLE);
    } catch (PayPalValidationException e) {
      writeException("PDT-1002", "Error verifying PDT", null, e, _response);
      _response.setStatus(SC_NOT_ACCEPTABLE);
    }
  }

  /* (non-Javadoc)
   * @see org.javacommerce.paypal.servlet.BaseServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
   */
  protected void doPost(HttpServletRequest _request, HttpServletResponse _response)
      throws ServletException, IOException {
    notAllowed(_response, "GET");
  }

  /* (non-Javadoc)
   * @see org.javacommerce.paypal.servlet.BaseServlet#doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
   */
  protected void doPut(HttpServletRequest _request, HttpServletResponse _response)
      throws ServletException, IOException {
    notAllowed(_response, "GET");
  }
 
  protected abstract void processPDT(PDT _pdt);

}
TOP

Related Classes of org.javacommerce.paypal.servlet.AbstractPDTServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.